package com.java.star.mall.common.exception;

import com.java.star.mall.common.response.StatusCode;
import lombok.Getter;

/**
 * 自定义业务异常
 */
@Getter
public class BusinessException extends RuntimeException {

    private final Integer code;

    private final String msg;

    /**
     * 手动指定异常消息
     *
     * @param statusCode 状态码对象
     * @param message    自定义异常信息
     */
    public BusinessException(StatusCode statusCode, String message) {
        super(message);
        // 状态码
        this.code = statusCode.getCode();
        // 自定义msg
        this.msg = message;
    }


    /**
     * 默认设置状态码配套信息
     *
     * @param statusCode 状态码对象
     */
    public BusinessException(StatusCode statusCode) {
        // 状态码
        this.code = statusCode.getCode();
        // 状态码配套的msg
        this.msg = statusCode.getMsg();
    }

}
